package com.estar.integaration.entity.paymentPlanEntity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.estar.integaration.Util.Util;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import javax.persistence.Entity;
import javax.persistence.Id;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Date;

/**
 * <p>
 *  采购订单执行明细
 * </p>
 *
 * @author YJL
 * @since 2022-02-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@AllArgsConstructor
@NoArgsConstructor
@Entity
public class PurchaseOrderDetail implements Serializable{

    @Id
    @ExcelIgnore
    private String id;

    /**
     * 订单编号
     */
    @ExcelProperty("订单编号")
    private String orderNumber;

    /**
     * 采购组别
     */
    @ExcelProperty("采购组")
    private String purchaseGroup;

    /**
     * 供应商名称
     */
    @ExcelProperty("供应商名称")
    private String supplierName;

    /**
     * 物料编码
     */
    @ExcelProperty("物料编码")
    private String materialNumber;

    /**
     * 物料名称
     */
    @ExcelProperty("物料名称")
    private String materialName;

    /**
     * 规格型号
     */
    @ExcelProperty("规格型号")
    private String spec;

    /**
     * 交货日期
     */
    @ExcelProperty("交货日期")
    private String deliveryGoodsDate;

    /**
     * 订货数量
     */
    @ExcelProperty("订货数量")
    private Double predeterminedNumber;

    /**
     * 含税单价
     */
    @ExcelProperty("含税单价")
    private Double priceWithTax;

    /**
     * 价税合计
     */
    @ExcelProperty("价税合计")
    private Double priceTaxGather;

    /**
     * 入库时间
     */
    @ExcelProperty("(入库)入库日期")
    private String inventoryDate;

    /**
     * 入库单号(入库凭证号)
     */
    @ExcelProperty("(入库)入库单号")
    private String inventoryVoucherNumber;

    /**
     * 入库金额
     */
    @ExcelProperty(value = "(入库)入库金额")
    private Double inventoryMoney;

    /**
     * 应付单号
     */
    @ExcelProperty("(应付)应付单号")
    private String dueNumber;

    /**
     * 应付金额
     */
    @ExcelProperty("(应付)应付金额")
    private Double amountDue;

    /**
     * (付款)付款金额
     */
    @ExcelProperty("(付款)付款金额")
    private Double payAmount;

    /**
     * 图号
     */
    @ExcelProperty("图号")
    private String drawingNo;

    /**
     * 品牌
     */
    @ExcelProperty("品牌")
    private String brand;

    /**
     * 预计付款日期
     */
    @ExcelIgnore
    private String expectPayDate;

    /**
     * 待付金额(这些钱是需要付的)
     * 应付金额,入库金额,价税合计
     */
    @ExcelIgnore
    private Double needPayAmount;

    /**
     * YYY
     * NYY
     * NYN
     * NNY
     * NNN
     */
    @ExcelIgnore
    private String type;

    /**
     * 是否是特殊解析的
     * 特殊解析:最后结果需付无需和总金额相减，百分比就是最后的结果。
     * 判定方式:有自然语言则是特殊解析
     */
    @ExcelIgnore
    private Boolean ifSpecial;

    /**
     * 开票日期
     */
    @ExcelIgnore
    private String ticketComeTime;


    @ExcelIgnore
    private String taxPoint;

    //应付日期
    @ExcelIgnore
    private String needPayDate;

}
